
#ifndef EDGEPICKER_H
#define EDGEPICKER_H

#include <BPolygon>
#include <BCamera>
#include <BPicker>

using namespace BWE;

class EdgePicker : public BPicker
{
public:
	EdgePicker();
	~EdgePicker();

	void setCamera(BCamera* camera);
	BCamera* camera() const;

protected:
	void pickTrigEdges(const BLine& line, const BVectorArray* vertices, const BVectorArray* normals);

protected:
	virtual void reset();
	virtual void pick(const BLine& line, BMesh* mesh);
	virtual void pick(const BLine& line, BGeometry* geometry);

private:
	BCamera*	_camera;
	bool		_edgePicked;
	int		_beginIndex;
	int		_endIndex;
	BVector		_beginPoint;
	BVector		_endPoint;

};

#endif
